
package main

import (
	"fmt"
)

//copy()函数是把一个slice的“所有”元素拷贝到另外一个slice中。
//——是拷贝，而不是追加(append)。需要注意的是：
//如果目标slice的长度小于源slice的长度，那么就不会拷贝源slice的所有原始。
//切片提供了计算容量的方法 cap() 可以测量切片最长可以达到多少。
func main() {
	the_slice1 := []int{1, 2, 3}
	the_slice2 := make([]int, 2)
	the_slice3 := make([]int, 4)

	the_slice3[2] = 10

	fmt.Println(the_slice1)
	fmt.Println(the_slice2)
	fmt.Println(the_slice3)

	copy(the_slice2, the_slice1)

	fmt.Println(the_slice1)
	fmt.Println(the_slice2)
	fmt.Println(the_slice3)

}

func debug_slice(the_slice []int, msg string) {
	fmt.Println(msg, "\t")
	for i, item := range the_slice {
		fmt.Printf("the_slice[%d]=%d\n", i, item, "\t")
	}
}
